home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / blitzbasic / blitz-list200994.lha / blitz-list / NeilsLibs.lha / CIATrackerLib.doc < prev    next >
Encoding:
Text File  |  1994-04-28  |  3.9 KB  |  113 lines

  1. CIATracker.lib Documentation
  2.  
  3. Neil O'Rourke
  4.  
  5. Version 1.1 (28/4/94)
  6.  
  7.  
  8. Introduction
  9. ~~~~~~~~~~~~
  10. The standard soundtracker replay routines supplied with Blitz Basic 2 have
  11. many faults, which this library attempts to overcome.  Some of the features
  12. are:
  13.  
  14.   - Plays all ST/NT/PT songs that utilise either the VBLANK timing or the
  15.     more recent CIA based timings
  16.   - Plays back correctly on 50/60Hz systems, running either PAL or NTSC
  17.   - Contains more specialised functions for advanced programmers
  18.  
  19.  
  20. The 1.1 upgrade
  21. ~~~~~~~~~~~~~~~
  22. Version 1.0 should not have been too widely distributed, as it was a "first
  23. out the door" rush job.  If you have been using it, save all your source as
  24. Ascii, install the new library and reload.  Note that many tokens have been
  25. deleted, and some have changed format.  LoadTrackerModule now returns an
  26. error code, for example.  Also, Free TrackerModule,TrackerModule# won't
  27. work anymore.
  28.  
  29. I've changed the internal format of the library for several reasons, one of
  30. the most significant being that there just isn't enough information
  31. available on creating Blitz II objects.  I could probably work it all out,
  32. but I'm vain enough to feel that I have better things to do with my time :)
  33.  
  34. CIATrackerLib now handles all its modules internally, completly  bypassing
  35. the Blitz II objects.  While this doesn't mean squat to most people, it
  36. does mean that the usual commands like Free, Use etc don't work.  This
  37. shouldn't cause too many problems.  If it does, then let me know!  I want
  38. to make this tracker library the best available in any language!
  39.  
  40. Several bugs have been squashed, including some extreamly nasty memory
  41. access ones.  Almost certainly new ones have been introduced.
  42.  
  43. The library can supposedly handle upto 8 modules, but I don't have enough
  44. memory to try it out.  Don't ask for modules greater then 8, however.
  45.  
  46.  
  47. Basic Commands
  48. ~~~~~~~~~~~~~~
  49.  
  50. success=LoadTrackerModule(TrackerModule#,FileName$)
  51.  
  52. Loads the named module into chip ram, ready for playing.  This command can
  53. only be called in Amiga mode.  success is a boolean return code (true or
  54. false).  If the load fails for any reason, you can usually find out the DOS
  55. error code by calling IOErr_() immediatly after the load has failed.
  56.  
  57. Note that there is an implicit call to FreeTrackerModule for whatever
  58. module you are trying to load.
  59.  
  60.  
  61. StartTracker TrackerModule#
  62.  
  63. Starts to play the requested module
  64.  
  65.  
  66. StopTracker
  67.  
  68. Stops the current module
  69.  
  70.  
  71. SetDMAWait value
  72.  
  73. This sets the DMA Wait for your machine.  On a standard 7.14MHz 68000 based
  74. machine, the default value is 300.  However, faster machines can cause the
  75. replay routine to skip notes.  On a 25MHz 68030 machine, the suggested
  76. value is 900.  Set this as low as possible so that you still hear all the
  77. notes.  A future upgrade *may* do this automatically, but I have no
  78. intention of implementing it at this stage.
  79.  
  80.  
  81. FreeTrackerModule TrackerModule#
  82.  
  83. This frees a module loaded with LoadTrackerModule.  You cannot free a
  84. module that has been set up with SetTrackerModule.
  85.  
  86.  
  87. SetTrackerModule TrackerModule#,ModuleAddress,ModuleLength
  88.  
  89. This sets an arbitary area of memory as a tracker module, useful if you
  90. have BLoaded a file and want to hear if it is a module. Caution: a
  91. non-module may crash the Amiga.  Caution: Do not attempt to free this
  92. module.
  93.  
  94.  
  95. GetTrackerSize(TrackerModule#)  GetTrackerLocation (TrackerModule#)
  96.  
  97. Both these functions return information about the module
  98.  
  99.  
  100. GetLoadTrackerModuleError  GetModTable   GetMT_Data
  101.  
  102. These commands appeared in V1.0, but serve no useful purpose other than
  103. debugging.  They have been deleted.
  104.  
  105.  
  106. Disclaimer:
  107. ~~~~~~~~~~~
  108. By installing this software on your system, you are agreeing that I have no
  109. liability as to the outcome of such use.  If, for example, you use a
  110. command as documented but this command causes your monitor screen to arc
  111. out through to earth via you, and all that is left of you is a greasy,
  112. smoking slime on your chair, tough luck.
  113.